package objetosNegocio;

import java.util.ArrayList;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import entidades.Usuario;
import entidadesSubastador.Puja;
import entidadesSubastador.UsuarioSubastador;

public class ObjetoNegocioWerServiceSubastador 
{
	private EntityManager manager;
	
	public ObjetoNegocioWerServiceSubastador(EntityManager manager)
	{	
		this.manager = manager;
	}
	
	public ArrayList<Puja> obtenerVendedores(Usuario usuario)
	{
		Query query = manager.createQuery("select puj.pujador,puj.subasta,puj.va from (select p.subasta,p.pujador, max(p.valor) va from Puja p order by p.subasta) puj where puj.pujador=:pujador");
		query.setParameter("pujador", usuario.getCodigo());
		
		ArrayList<Puja> pujas = (ArrayList<Puja>) query.getResultList();
		
		if(pujas.size()>0)
		{
			return pujas;
		}
		
		return null;
	}
	
	public UsuarioSubastador obtenerUsuarioPorcodigo(Usuario usuario)
	{
		return manager.find(UsuarioSubastador.class, usuario.getCodigo());
	}
	
	public UsuarioSubastador estaUsuario(Usuario usuario)
	{
		Query query = manager.createQuery("select u from UsuarioSubastador u where u.login=:usuario");
		query.setParameter("usuario", usuario.getLogin());
		
		ArrayList<UsuarioSubastador>usuarios = (ArrayList<UsuarioSubastador>) query.getResultList();
		
		if(usuarios.size()>0)
		{
			return usuarios.get(0);
		}
		
		return null;
	}
}
